package org.ipower.examsystem.action;

import com.opensymphony.xwork2.ModelDriven;
import org.ipower.examsystem.domain.Cooperation;
import org.ipower.examsystem.service.CooperationMemberService;
import org.ipower.examsystem.service.CooperationService;

/**
 * 合作机构数据编辑Action。
 * @author jeasonyoung
 */
public class CooperationEditAction extends ModuleBaseAction<CooperationService> implements ModelDriven<Cooperation> {
    private static final long serialVersionUID = 1L;
    private Cooperation data = new Cooperation();
    private CooperationMemberService memberService = null;
    /**
     * 设置合作机构成员服务。
     * @param service 合作机构成员服务接口。
     * */
    public void setMemberService(CooperationMemberService memberService){
        this.memberService = memberService;
    }
    /**
     * 更新数据。
     * @return 执行结果。
     * */
    public String update(){
        if(this.data != null && !this.data.getCooperationID().isEmpty()){
            this.getService().saveOrUpdate(this.data);
        }
        return SUCCESS;
    }
    /**
     * 删除数据。
     * @param 执行结果。
     * */
    public String delete(){
        if(this.data != null && !this.data.getCooperationID().isEmpty()){
            if(this.memberService != null){
                this.memberService.delete(this.data.getCooperationID());
            }
            this.getService().delete(this.data.getCooperationID());
        }
        return SUCCESS;
    }
    /**
    * 默认执行。
    * @return 执行结果。
    * */
    @Override
    public String execute() throws Exception{
        return SUCCESS;
    }
    /**
     *获取数据。
     * @return 合作机构数据。
     * */
    @Override
    public Cooperation getModel() {
        return this.data;
    }   
}